`include "ram.v"
`timescale 100ps/100ps
`default_nettype none

module tb_ram;
reg i_clk;
reg i_en;
reg [63:0] i_addr;
reg [63:0] i_data;
output [63:0] o_data;

ram u_ram
(
  .i_en(i_en),
  .i_clk(i_clk),
  .i_addr(i_addr),
  .i_data(i_data),
  .o_data(o_data)
);

initial begin
  forever begin
    #0 i_clk = 1'b0;
    #1 i_clk = ~i_clk;
  end
end


initial begin
  $dumpfile("../dump/tb_ram.vcd");
  $dumpvars(0, tb_ram);
end

initial begin
  #0 i_en = 1'b0; i_addr = 64'h0;
  #1 i_en = 1'b1; i_addr = 64'h0; i_data = 64'h1;
  #1 i_en = 1'b0; i_addr = 64'h0;
  #1 i_en = 1'b1; i_addr = 64'h1; i_data = 64'h2;
  #1 i_en = 1'b0; i_addr = 64'h0;
  #1 $finish();
end

initial begin
  $monitor($time, " i_clk:%d i_en:%d i_addr:%d i_data:%d o_data:%d", i_clk, i_en, i_addr, i_data, o_data);
end

endmodule
`default_nettype wire